﻿using System;
using System.Data;
using MySql.Data;
using MySql.Data.MySqlClient;
using HK.Reports;
using fs = functionService.DATECOD;

namespace HK.City
{
    /// <summary>
    /// Класс для отображения отчетов по движению товаров Магазин СИТИ
    /// </summary>
    public static class CityMagTov
    {
        private static string serverAdres = "192.168.0.200";
        private static string corgMagCity = "8585";

        public static void ShowPrihMag(int db, int de)
        {
            city_getReportsForMag(
                "ShowPrihMag", 
                db, de, "2",
                String.Concat("Приход продукции по магазину за период\nс ", fs.cod_to_date(db), " по ", fs.cod_to_date(de), "\n  "),
                "\n\n\n        Ответственный:________________________", false); 
        }

        public static void ShowRashMag(int db, int de)
        {
            city_getReportsForMag(
                "ShowRashMag", 
                db, de, "3",
                String.Concat("Расход продукции по магазину за период\nс ", fs.cod_to_date(db), " по ", fs.cod_to_date(de), "\n  "),
                "\n\n\n        Ответственный:________________________", false);
        }

        public static void ShowVozvrMag(int db, int de)
        {
            city_getReportsForMag(
                "ShowVozvrMag", 
                db, de, "4",
                String.Concat("Возврат на экспедицию по магазину за период\nс ", fs.cod_to_date(db), " по ", fs.cod_to_date(de), "\n  "),
                "\n\n\n        Ответственный:________________________", false);
        }

        public static void ShowAllOstMag(int db, int de)
        {
            city_getReportsForMag(
                "ShowAllOstMag", 
                db, de, "1",
                String.Concat("Остатки по магазину за период\nс ", fs.cod_to_date(db), " по ", fs.cod_to_date(de), "\n  "),
                "\n\n\n        Ответственный:________________________", true);
        }

        public static void ShowOstMag(int db, int de)
        {
            city_getReportsForMag(
                "ShowOstMag", 
                db, de, "5",
                String.Concat("Остатки по магазину за период\nс ", fs.cod_to_date(db), " по ", fs.cod_to_date(de), "\n  "),
                "\n\n\n        Ответственный:________________________", true);
        }

        /// <summary>
        /// Выводит форму с данными из зранимой процедуры city_getReportsForMag
        /// </summary>
        /// <param name="nameRep">Уникальное имя для хранения настроек формы и отчета</param>
        /// <param name="db">Дата начала периода в формате int</param>
        /// <param name="de">Дата конца периода в формате int</param>
        /// <param name="type">Тип данных 1-Остатки, 2-Приход, 3-Расход, 4-Возврат, 5-Только остатки</param>
        /// <param name="reportHeader">Заголовок отчета</param>
        /// <param name="reportFooter">Окончание отчета</param>
        private static void city_getReportsForMag(string nameRep, int db, int de, string type, string reportHeader, string reportFooter, bool land)
        {
            string sql = String.Concat("CALL `arhiv`.`city_getReportsForMag`('", corgMagCity, "', '", db, "', '", de, "', '", type, "')");

            userHK_grid.FormGRID gr = new userHK_grid.FormGRID(sql, "city", serverAdres, nameRep, "DISABLE", reportHeader, reportFooter, land);
            gr.ShowDialog();
        }
    }
}
